<!DOCTYPE html>
<html lang="tr">
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<title>git - basit rehber - atla deve değil!</title>
    <link href='http://fonts.googleapis.com/css?family=Chelsea+Market' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/normalize/0/normalize.min.css" type="text/css">
	<link rel="stylesheet" href="css/style.css" type="text/css">
    <script type="text/javascript">
      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-652147-13']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

      function recordOutboundLink(link, category, action) {
         _gat._getTrackerByName()._trackEvent(category, action);
         setTimeout('document.location = "' + link.href + '"', 100);
      }
    </script>
</head>
<body>
    <div class="scrollblock block-title">
        <h1>git - basit rehber</h1>
        <p>git'e başlamak için basit bir rehber. atla deve değil ;)</p>
        <a href="https://twitter.com/share" class="twitter-share-button" data-via="rogerdudler" data-size="large" data-url="http://rogerdudler.github.com/git-guide" data-related="rogerdudler" data-hashtags="git">Tweet</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
        <p class="meta">
            by <a href="http://www.twitter.com/rogerdudler">Roger Dudler</a>
            <br />credits to <a href="http://www.twitter.com/tfnico">@tfnico</a>, <a href="http://www.twitter.com/fhd">@fhd</a> and <a href="http://www.namics.com">Namics</a><br />
            this guide in
            <a href="index.html">english</a>,
            <a href="index.de.html">deutsch</a>,
            <a href="index.es.html">español</a>,
            <a href="index.fr.html">français</a>,
            <a href="index.id.html">indonesian</a>,
            <a href="index.it.html">italiano</a>,
            <a href="index.nl.html">nederlands</a>,
            <a href="index.pl.html">polski</a>,
            <a href="index.pt_BR.html">português</a>,
            <a href="index.ru.html">русский</a>,
            <br/>
            <a href="index.my.html">မြန်မာ</a>,
            <a href="index.ja.html">日本語</a>,
            <a href="index.zh.html">中文</a>,
            <a href="index.ko.html">한국어</a>
            <br />
            please report issues on <a href="https://github.com/rogerdudler/git-guide/issues">github</a>
        </p>
        <img src="img/arrow.png" alt="" />
    </div>
    <!-- setup -->
    <a name="setup"></a>
    <div class="scrollblock block-setup">
        <h2>kurulum</h2>
        <p>
            <a href="http://git-scm.com/download/mac">OSX için git'i İndir</a>
        </p>
        <p>
            <a href="http://msysgit.github.io/">Windows için git'i İndir</a>
        </p>
        <p>
            <a href="http://book.git-scm.com/2_installing_git.html">Linux için git'i İndir</a>
        </p>
    </div>
    <a name="create"></a>
    <div class="scrollblock block-create">
        <h2>yeni bir depo oluşturmak</h2>
        <p>
            yeni bir depo oluşturmak için, bir klasör oluşturup içerisinde<br />
            <code>git init</code><br />
            komutunu çalıştırın.
        </p>
    </div>
    <a name="checkout"></a>
    <div class="scrollblock block-checkout">
        <h2>bir depoyu kopyalamak</h2>
        <p>
            yerel deponuzun çalışan bir kopyasını oluşturmak için<br />
            <code>git clone /yol/depo</code><br />
            uzak sunucu kullandığımız durumda<br />
            <code>git clone kullaniciadi@sunucu:/yol/depo</code>
        </p>
    </div>
    <a name="trees"></a>
    <div class="scrollblock block-trees">
        <h2>iş akışı</h2>
        <p>
            yerel deponuz git tarafından yönetilen üç "ağaçtan" oluşur.
            birincisi gerçek dosyaları tutan <code>Çalışma Dizini</code>.
            ikinci etap <code>Stage</code> ve
            sonuncusu yaptığınız son commit'i gösteren <code>HEAD</code>.
        </p>
        <img src="img/trees.png" alt="" />
    </div>
    <a name="add"></a>
    <div class="scrollblock block-add">
        <h2>ekleme &amp; teslim</h2>
        <p>
            Değişiklikleri belirtmek (<b>Index</b>'e eklemek) için<br />
            <code>git add &lt;dosyaadı&gt;</code><br />
            <code>git add *</code><br />
            Temel git iş akışında bu ilk adımdır. Değişiklikleri depoya eklemek için<br />
            <code>git commit -m "Teslim mesajı"</code><br />
            Şimdi dosyalar <b>HEAD</b>'e eklendi, fakat henüz uzak deponuza değil.
        </p>
    </div>
    <a name="push"></a>
    <div class="scrollblock block-remote">
        <h2>değişiklikleri göndermek</h2>
        <p>
            Şimdi değişiklikleriniz yerel deponuzun <b>HEAD</b>'i içerisinde.<br /> Bu değişiklikleri uzak deponuza göndermek için,<br />
            <code>git push origin master</code><br />
            Değişiklikleri uzak deponuzdaki göndermek istediğiniz dal'ı <i>master</i> ile değiştirin.
            <br /><br />
            Henüz uzak bir deponuz yoksa ve uzak depo eklemek istiyorsanız,<br />
            <code>git remote add origin &lt;sunucu&gt;</code><br />
            Şimdi değişikliklerinizi uzak sunucuya gönderebilirsiniz<br />

        </p>
    </div>
    <a name="branching"></a>
    <div class="scrollblock block-branching">
        <h2>dallar ile çalışmak</h2>
        <p>
            Dallar farklı özellikleri ayrı ayrı geliştirmek için kullanılır. Yeni bir depo oluşturduğunuzda <i>master</i> "varsayılan" daldır. Diğer dallar geliştirildikten sonra <i>master</i>'a birleştirilir.
        </p>
        <img src="img/branches.png" alt="" />
        <p>
            "feature_x" adıyla yeni bir dal oluşturup o dala geçmek için <br />
            <code>git checkout -b feature_x</code><br />
            master'a geri geçmek için<br />
            <code>git checkout master</code><br />
            ve oluşturduğumuz dalı silmek için<br />
            <code>git branch -d feature_x</code><br />
            bir dalı uzak deponuza göndermedikçe<br /><i>başkaları tarafından kullanılabilir olmaz</i><br />
            <code>git push origin &lt;dal&gt;</code>
        </p>
    </div>
    <a name="update"></a>
    <div class="scrollblock block-merging">
        <h2>güncelleme &amp; birleştirme</h2>
        <p>
            en son değişiklikleri (commit) yerel deponuza almak için<br />
            <code>git pull</code><br />
            komutunu çalıştırın. Bu değişiklikleri al <i>(fetch)</i> ve  birleştir <i>(merge)</i> yapacaktır.
            Aktif dala (örn. master) başka bir dalı birleştirmek için <br />
            <code>git merge &lt;dal&gt;</code><br />
            her iki durumda da git değişiklikleri otomatik birleştirmeyi (auto-merge) dener.
            Maalesef, bu her zaman mümkün olmaz ve <i>çakışmalarla (conflict)</i> sonuçlanır.
            Git tarafından gösterilen dosyaları elle düzenleyerek bu <i>çakışmaları</i> birleştirmek size düşer.
            Değişikliklerden sonra, dosyaları eklemek için<br />
            <code>git add &lt;dosyaadı&gt;</code><br />

            değişiklikleri birleştirmeden önce, önizleme yapmak için<br />
            <code>git diff &lt;kaynak_dal&gt; &lt;hedef_dal&gt;</code>
        </p>
    </div>
    <a name="tagging"></a>
    <div class="scrollblock block-tagging">
        <h2>sürümlemek</h2>
        <p>
            yazılım sürümleriniz için sürüm adı (tag) oluşturmanız tavsiye edilir. bu SVN'de de mevcut olan bilindik bir kavramdır. <i>1.0.0</i> adıyla bir sürüm numarası (tag) oluşturmak için<br />
            <code>git tag 1.0.0 1b2e1d63ff</code><br />
            buradaki <i>1b2e1d63ff</i> yayımlanacak yazılım sürümünüzün işlem numarasının ilk 10 karakteridir. İşlem kimlik numaralarını görmek için<br />
            <code>git log</code><br />
            tekil olduğu sürece daha az işlem numarası da kullanabilirsiniz.
        </p>
    </div>
    <a name="checkout-replace"></a>
    <div class="scrollblock block-checkout-replace">
        <h2>yerel değişiklikleri geri almak</h2>
        <p>
            Yanlış birşey yapmanız durumunda (tabi ki böyle şeyler hiç olmaz ;)) yerel değişiklikleri geri almak için<br />
            <code>git checkout -- &lt;dosyaadı&gt;</code><br />
            bu değişikliklerinizi HEAD içerisindeki son içerik ile değiştirir. Index'e önceden eklenmiş değişiklikler ve yeni dosyalar korunacaktır.
        </p>
        <p>
            Eğer tüm yerel değişiklik ve teslimlerinizi iptal etmek istiyorsanız, sunucudan en son kayıtları getirin ve yerel master dalınıza gösterin<br />
            <code>git fetch origin</code><br />
            <code>git reset --hard origin/master</code>
        </p>
    </div>
    <a name="hints"></a>
    <div class="scrollblock block-hints">
        <h2>faydalı ipuçları</h2>
        <p>
            dahili git GUI (Grafiksel Kullanıcı Arayüzü)<br />
            <code>gitk</code><br />
            renkli git çıktısı kullanın<br />
            <code>git config color.ui true</code><br />
            commit başına sadece tek satır log gösterin<br />
            <code>git config format.pretty oneline</code><br />
            interaktif ekleme kullanın<br />
            <code>git add -i</code>
        </p>
    </div>
    <a name="resources"></a>
    <div class="scrollblock block-resources">
        <h2>linkler & kaynaklar</h2>
        <h3>grafiksel istemciler</h3>
        <p>
            <ul>
                <li><a href="http://gitx.laullon.com/">GitX (L) (OSX, açık kaynak)</a></li>
                <li><a href="http://www.git-tower.com/">Tower (OSX)</a></li>
                <li><a href="http://www.sourcetreeapp.com/">Source Tree (OSX, ücretsiz)</a></li>
                <li><a href="http://mac.github.com/">GitHub for Mac (OSX, ücretsiz)</a></li>
                <li><a href="https://itunes.apple.com/gb/app/gitbox/id403388357?mt=12">GitBox (OSX)</a></li>
            </ul>
        </p>
        <h3>rehberler</h3>
        <p>
            <ul>
                <li><a href="http://book.git-scm.com/">Git Community Book</a></li>
                <li><a href="http://progit.org/book/">Pro Git</a></li>
                <li><a href="http://think-like-a-git.net/">Think like a git</a></li>
                <li><a href="http://help.github.com/">GitHub Help</a></li>
                <li><a href="http://marklodato.github.com/visual-git-guide/index-en.html">A Visual Git Guide</a></li>
            </ul>
        </p>
    </div>
    <div class="announcement">
        <a href="http://frontify.com/?utm_source=gitguide&amp;utm_campaign=founder">
            <img src="http://d13bhd1byokz0o.cloudfront.net/ad/clarify-announcement-git@2x.png" width="960" height="100" alt="Clarify" />
        </a>
    </div>
    <a name="comments"></a>
    <div class="scrollblock block-comments">
        <h2>yorumlar</h2>
        <div id="disqus_thread"></div>
        <script type="text/javascript">
            /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
            var disqus_shortname = 'git-the-simple-guide'; // required: replace example with your forum shortname

            /* * * DON'T EDIT BELOW THIS LINE * * */
            (function() {
                var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
                dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
                (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
            })();
        </script>
        <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
    </div>
    <a href="http://www.git-tower.com/?source=rd" onClick="recordOutboundLink(this, 'Outbound Links', 'git-tower.com');return false;" class="tower"></a>
    <a href="files/git_cheat_sheet.pdf" onClick="recordOutboundLink(this, 'Cheat Sheet', 'git-guide');return false;" class="cheatsheet"></a>
</body>
</html>
